/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cl.edinet.agencialinea3.web.application.mantencion;

import cl.aperture.commons.DefaultValidador;
import cl.aperture.commons.ValidationException;
import cl.aperture.commons.xml.XMLControlResponse;
import cl.edinet.agencialinea3.ejb.bean.parametro.ParametroAelUsuario;
import cl.edinet.agencialinea3.ejb.entity.AelAgencia;
import cl.edinet.agencialinea3.ejb.entity.AelEntidad;
import cl.edinet.agencialinea3.ejb.entity.AelUsuario;
import cl.edinet.agencialinea3.ejb.entity.Importador;
import cl.edinet.agencialinea3.web.controller.MainController;
import cl.edinet.agencialinea3.web.util.Utiles;
import cl.edinet.leela2.web.controller.annotations.LeelaFrontController;
import java.math.BigDecimal;
import java.util.List;

/**
 *
 * @author Iván Zúñiga & Tomás Quinteros
 */

@LeelaFrontController(urlPatterns= "/application/mantencion/HomeMantencion.view", pathDispatcher= "/application/mantencion/homeMantencion.jsp")

public class HomeMantencion extends MainController {
        
    private Importador importador;
    private Integer pagina;
    private final int cantidadRegistrosPorPagina = 9;
    List<AelUsuario> usuarios;
    private List<Importador> importadores;
    private AelEntidad entidad;
    List<AelAgencia> agencias;

    @Override
    public void doValidate(DefaultValidador dv) throws ValidationException, Exception {
        
        BigDecimal idImportador = getValidadorHandler().validarBigDecimal("importador");
        //BigDecimal idImportador = getSessionAttribute("codigo_importador");
        
        if (idImportador != null) {
        importador = getRemote().getImportador(idImportador);
        
       
        }
        
        pagina = getValidadorHandler().validarInteger("pagina");
        if (pagina == null) {
            pagina = 0;
        }
        
        BigDecimal idEntidad = getValidadorHandler().validarBigDecimal("entidad");
        if (idEntidad != null){
        entidad = getRemote().getEntidad(idEntidad);
        }
        
       
        }

    @Override
    public void doBusiness() throws ValidationException, Exception {
        ParametroAelUsuario aelUsuarios = new ParametroAelUsuario();
        
        aelUsuarios.setAelEntidad(entidad);
        aelUsuarios.setImportador(importador);
        aelUsuarios.setCantidadRegistrosPorPagina(cantidadRegistrosPorPagina);
        aelUsuarios.setRegistrosDesde(cantidadRegistrosPorPagina * pagina.intValue());
        aelUsuarios.setUsuarioSession(Utiles.getUsuarioSession(getSession()));
        aelUsuarios.setNik(getValidadorHandler().validarSimpleString("nik"));
        aelUsuarios.setEmail(getValidadorHandler().validarSimpleString("email"));
        aelUsuarios.setRut(getValidadorHandler().validarInteger("rut"));
        aelUsuarios.setNombre(getValidadorHandler().validarSimpleString("nombre"));
        
        
        
        //List<AelUsuario> usuarios = getRemote().getAelUsuarios();
        importadores = getRemote().getImportadores();
        List<Importador> entidades = getRemote().getImportadores();
        
        
        
        
        XMLControlResponse controlResponse = new XMLControlResponse();
        
         if(importador!=null){
             controlResponse.add("importador", importador.getCodigo().toString());
        }
        
        int cantidadTotalRegistrosBusqueda = getRemote().contarAelUsuarios(aelUsuarios);
        usuarios = getRemote().getAelUsuarios(aelUsuarios);
  
  
        addRequestAttribute("controlResponse", controlResponse);
        //addRequestAttribute("aelUsuario", usuarios);
        addRequestAttribute("importadores", importadores);
        addRequestAttribute("usuarios", usuarios);
        //addRequestAttribute("importadores", entidad);
        addRequestAttribute("int.cantidadTotalRegistrosBusqueda", cantidadTotalRegistrosBusqueda);
        addRequestAttribute("int.pagina", pagina);
        addRequestAttribute("int.cantidadRegistrosPorPagina", cantidadRegistrosPorPagina);
        
    }
    
}



